package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddCloneParentRoleMemberComReqDto
 * @使用场景
 */
@Data
public class AddCloneParentRoleMemberComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 角色标识
   */
  @NotNull(message = "角色标识不能为空")
  @ApiModelProperty("角色标识")
  private String roleCode;

  /**
   * 克隆的角色标识
   */
  @NotNull(message = "克隆的角色标识不能为空")
  @ApiModelProperty("克隆的角色标识")
  private String cloneRoleCode;

  /**
   * 父级内容表类型编码 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表
   */
  @NotNull(message = "父级内容表类型编码不能为空")
  @ApiModelProperty("父级内容表类型编码")
  private String parentTableTypeCode;

  /**
   * 父级内容表主键
   */
  @NotNull(message = "父级内容表主键不能为空")
  @ApiModelProperty("父级内容表主键")
  private String parentTargetContId;

  /**
   * 冗余内容表类型编码 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表
   */
  @NotNull(message = "冗余内容表类型编码不能为空")
  @ApiModelProperty("冗余内容表类型编码")
  private String tableTypeCode;

  /**
   * 冗余内容表主键ID
   */
  @NotNull(message = "冗余内容表主键ID不能为空")
  @ApiModelProperty("冗余内容表主键ID")
  private String entityId;

  /**
   * 就职开始时间
   */
  @NotNull(message = "就职开始时间不能为空")
  @ApiModelProperty("就职开始时间")
  private Date inductionStartTime;

  /**
   * 组内职务名称
   */
  @NotNull(message = "组内职务名称不能为空")
  @ApiModelProperty("组内职务名称")
  private String virtualOrganizationPosition;

  /**
   * 虚拟组织ID
   */
  @NotNull(message = "虚拟组织ID不能为空")
  @ApiModelProperty("虚拟组织ID")
  private String virtualOrgId;

  /**
   * 批次标识
   */
  @NotNull(message = "批次标识不能为空")
  @ApiModelProperty("批次标识")
  private String batchCode;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 建设任务汇报对象设置项编码 PRIMARY_TASK:一级建设任务 SECONDARY_TASK:二级建设任务 PRIMARY_OBSERVATION_POINT:二级以下建设任务或一级观测点 SECONDARY_OBSERVATION_POINT:二级观测点 OTHER_OBSERVATION_POINT:二级以下观测点
   */
  @NotNull(message = "建设任务汇报对象设置项编码不能为空")
  @ApiModelProperty("建设任务汇报对象设置项编码")
  private String reportObjectSetCode;

}
